using Dapper.Abstractions;
using Dapper.Extensions.Configuration;
using Dapper.Extensions.Retry;

namespace Dapper.Extensions;

public class DapperOptions
{
	public string ConnectionString { get; set; } = string.Empty;
	
	public bool EnabledRetry { get; set; } = false;
	
	public DbLoggingConfiguration LoggingConfiguration { get; set; } = DbLoggingConfiguration.Default;
	
	public IConnectionFactoryStrategy ConnectionFactoryStrategy { get; set; } = default!;
	
	public ISqlCompilerStrategy SqlCompilerStrategy { get; set; } = default!;
	
	public RetryOptions Retry { get; set; } = new();
	
	public bool EnableLogging { get; set; } = false;
}
